GError **error);
OPPROTO(open_splice_and_close)
+OPPROTO(open)
+OPPROTO(write)
+OPPROTO(set_read_source)
+OPPROTO(close)
#undef OPPROTO
static gboolean
if (!dispatch_open_splice_and_close (repo, state, cancellable, error))
goto out;
break;
+ case OSTREE_STATIC_DELTA_OP_OPEN:
+ if (!dispatch_open (repo, state, cancellable, error))
+ goto out;
+ break;
+ case OSTREE_STATIC_DELTA_OP_WRITE:
+ if (!dispatch_write (repo, state, cancellable, error))
+ goto out;
+ break;
+ case OSTREE_STATIC_DELTA_OP_SET_READ_SOURCE:
+ if (!dispatch_set_read_source (repo, state, cancellable, error))
+ goto out;
+ break;
+ case OSTREE_STATIC_DELTA_OP_CLOSE:
+ if (!dispatch_close (repo, state, cancellable, error))
+ goto out;
+ break;
default:
g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT,
"Unknown opcode %u at offset %u", opcode, n_executed);
g_prefix_error (error, "opcode open-splice-and-close: ");
return ret;
}
+
+static gboolean
+dispatch_open (OstreeRepo *repo,
+ StaticDeltaExecutionState *state,
+ GCancellable *cancellable,
+ GError **error)
+{
+ gboolean ret = FALSE;
+
+ if (!open_output_target (state, cancellable, error))
+ goto out;
+
+ ret = TRUE;
+ out:
+ if (!ret)
+ g_prefix_error (error, "opcode open: ");
+ return ret;
+}
+
+static gboolean
+dispatch_write (OstreeRepo *repo,
+ StaticDeltaExecutionState *state,
+ GCancellable *cancellable,
+ GError **error)
+{
+ gboolean ret = FALSE;
+
+ g_assert_not_reached ();
+
+ ret = TRUE;
+ /* out: */
+ if (!ret)
+ g_prefix_error (error, "opcode open-splice-and-close: ");
+ return ret;
+}
+
+static gboolean
+dispatch_set_read_source (OstreeRepo *repo,
+ StaticDeltaExecutionState *state,
+ GCancellable *cancellable,
+ GError **error)
+{
+ gboolean ret = FALSE;
+
+ g_assert_not_reached ();
+
+ ret = TRUE;
+ /* out: */
+ if (!ret)
+ g_prefix_error (error, "opcode open-splice-and-close: ");
+ return ret;
+}
+
+static gboolean
+dispatch_close (OstreeRepo *repo,
+ StaticDeltaExecutionState *state,
+ GCancellable *cancellable,
+ GError **error)
+{
+ gboolean ret = FALSE;
+
+ g_assert_not_reached ();
+
+ ret = TRUE;
+ /* out: */
+ if (!ret)
+ g_prefix_error (error, "opcode open-splice-and-close: ");
+ return ret;
+}